The present invention relates generally to devices and methods for forming a waveform of a musical tone, voice or other sound on the basis of waveform data read out from a memory, and more particularly to a waveform forming device and method using loop waveforms read out repeatedly. It will be appreciated that the basic principles of the present invention can be applied extensively to every type of equipment, apparatus and methods having the function of generating musical tones, voices or any other sounds, such as automatic musical performance devices, computers, electronic game devices and multimedia-related devices, not to mention electronic musical instruments. Also, let it be assumed that the terms xe2x80x9ctone waveformxe2x80x9d in this specification are not necessarily limited to a waveform of a musical tone alone but are used in a much broader sense that may embrace a waveform of a voice or any other type of sound.
The so-called xe2x80x9cwaveform memory readoutxe2x80x9d technique has already been well known, which prestores waveform data (i.e., waveform sample data) coded in a given coding scheme, such as the PCM (Pulse Code Modulation), DPCM (Differential Pulse Code Modulation) or ADPCM (Adaptive Differential Pulse Code Modulation), and then reads out the thus-prestored waveform data at a rate corresponding to a desired tone pitch to thereby form a tone waveform. So far, various types of xe2x80x9cwaveform memory readoutxe2x80x9d technique have been proposed and known in the art, most of which are directed to forming a waveform covering from the start to end of a tone. As one specific example of the waveform memory readoutxe2x80x9d technique, there has been known prestoring waveform data of a complete waveform of a tone covering from the start to end thereof. As another example, there has been known an approach of prestoring waveform data of a complete waveform for an attack portion of a tone presenting relatively complex variations and prestoring a predetermined loop waveform for a sustain portion presenting not many variations (e.g., Japanese Patent Laid-open Publication No. SHO-59-l 88697). In the latter approach, the arrangement of storing the loop waveform for the sustain portion can significantly reduce the quantity of the waveform data to be stored, and also the arrangement of repeatedly reading out the stored loop waveform can effectively adjust the sustained time of the tone as desired. In this specification, the terms xe2x80x9cloop waveformxe2x80x9d are used to refer to a waveform to be read out repeatedly, i.e., in a looped fashion, and the terms xe2x80x9cloop-reproduced waveformxe2x80x9d are used to refer to a waveform obtained (reproduced) by reading out the loop waveform repeatedly or in a looped fashion.
Also known in the art is a technique using a plurality of loop waveforms to generate a single tone, where the loop waveforms are read out one after another in given sequence and the resultant loop-read-out data of the successive loop waveforms (i.e., loop-reproduced waveforms) are then subjected to cross-fade synthesis for smooth connection between the individual loop-reproduced waveforms (e.g., Japanese Patent Laid-open Publication No. SHO-62-14696). In this case, the cross-fade synthesis is effected in predetermined cross-fading sections; however, unlike the above-discussed technique of repeatedly reading out just a single simple loop waveform, this technique is not arranged to variably adjust the time lengths of the individual cross-fading sections. Further, in this case, it is absolutely necessary that the waveforms to be subjected to the cross-fade synthesis should be in phase with each other (or at least not greatly phase-shifted with each other) and thus the loop waveform data previously matched in phase should be prestored in memory.
However, the conventionally-known tone waveform forming techniques using the loop waveforms are not satisfactory in that, for the purpose of synthesis or connection between the loop waveforms, they would require burdensome operations of prestoring, in the memory, the waveform data having been previously matched in phase. This means that the conventional technique are unable to smoothly synthesize or connect the loop waveforms that have not been matched in phase with each other, and therefore it was not possible, in the past, to freely edit waveforms and create desired sounds by freely combining together desired loop waveforms. Further, although the conventional tone waveform forming techniques using the loop waveforms can suitably reduce the quantity of waveform data to be stored, they are not suitable for use in forming tone waveforms rich in expression and are also irrelevant to formation of tone waveforms taking xe2x80x9carticulationxe2x80x9d (style of performance or rendition) of sounds into account. Besides, the conventional tone waveform forming techniques using the loop waveforms are only capable of looping in a preset manner and thus lacks controllability and editability.
It is therefore an object of the present invention to provide a device and method for forming a tone waveform using loop waveforms which can smoothly combine (synthesize or connect) the loop waveforms in a simplified manner without a need for prestoring waveform data having been previously matched in phase.
It is another object of the present invention to provide a waveform forming device and method which permit free waveform editing and sound making by freely combining desired loop waveforms.
It is still another object of the present invention to provide a waveform forming device and method which are rich in controllability and editability.
According to a first aspect of the present invention, there is provided a waveform forming device which comprises: a storage section for storing waveform data of a plurality of loop waveforms to be read out repeatedly and also storing phase management information in corresponding relation to the loop waveforms; and a waveform forming section for forming a waveform of at least part of a sound, by selecting at least two of the loop waveforms stored in the storage section, repeatedly reading out the waveform data of the selected loop waveforms to thereby form loop-reproduced waveforms corresponding to the selected loop waveforms and combining together the loop-reproduced waveforms. The waveform forming section performs phase adjustment between the loop-reproduced waveforms to be combined together, using the phase management information corresponding to the selected loop waveforms.
In the present invention, the storage section stores not only waveform data of a plurality of loop waveforms but also phase management information corresponding to the loop waveforms, so that the loop waveforms can be smoothly combined (connected or synthesized) with each other in a simplified manner without a need for prestoring the waveform data in a previously-phase-matched condition. Further, even when the loop waveforms to be combined together are shifted from each other in phase (particularly, in the phase of their start points), their different phases can be controlled to coincide with each other by performing phase adjustment between the loop-reproduced waveforms, to be combined together, with reference to the respective phase management information. As a consequence, free waveform editing and sound making are permitted by freely combining any desired ones of the loop waveforms. In addition, the present invention can significantly reduce the burden involved in the waveform formation, because it can eliminate the need for prestoring in memory the waveform data having been previously matched in phase.
In one implementation, each of the phase management information includes information that is indicative of a phase of the start point or end point of the loop waveform corresponding thereto. When the loop-reproduced waveforms are to be combined through cross-fade synthesis, the loop-reproduced waveforms can be appropriately matched in phase with each other, using the information indicative of the respective start points of the loop waveforms. When the loop-reproduced waveforms are to be combined with each other in a simple tandem fashion, the loop-reproduced waveforms can be smoothly connected together with their phases at the connecting point appropriately matched with each other, using the information indicative of the phase of the end point of the preceding loop waveform and the information indicative of the phase of the start point of the succeeding loop waveform.
In another implementation, the information indicative of the phase of the start point or end point may be expressed in relative phase; that is, this information may be expressed either in absolute phase or in relative phase, depending on the application intended. When a pair of certain loop waveforms are to be combined together, the phases of these loop waveforms can be matched with each other on the basis of the absolute phases at the start or end points of their respective waveform data; however, the phases of these loop waveforms can also be matched with each other on the basis of the phase information expressed in relative phase, because the phase relationship or phase difference between the loop waveforms can also be known from the relative phases.
In still another implementation, the phase management information may include information indicative of a location corresponding to a predetermined reference phase of the loop waveform. For example, assuming that the predetermined reference phase is a zero phase, the loop waveform can be matched in phase with another loop waveform if it is known at which point (address location in memory) the zero phase is present.
In yet another implementation, the waveform forming section may form a waveform of at least part of a sound by arithmetically synthesizing (e.g., cross-fade synthesizing) the loop-reproduced waveforms. Alternatively, the waveform forming section may form a waveform of at least part of a sound by connecting together the loop-reproduced waveforms.
According to a second aspect of the present invention, there is provided a waveform forming device which comprises: a storage section for storing waveform data of a plurality of loop waveforms to be read out repeatedly; and an address generation section for generating looping address signals to repeatedly read out the waveform data of the loop waveforms stored in the storage section. The loop waveforms stored in the storage section have given initial phases respectively. The address generation section causes a first address signal for reading out the waveform data of a first one of the loop waveforms and a second address signal for reading out the waveform data of a second one of the loop waveforms to loop in different manners corresponding to a difference between the initial phases of the first and second loop waveforms so that first and second loop-reproduced waveforms, formed as the waveform data of the first and second loop waveforms are repeatedly read out in accordance with the first and second address signals, are adjusted in phase. Then, a waveform of at least part of a sound is formed by combining the first and second loop-reproduced waveforms having been adjusted in phase by the address generation section.
By thus causing the read addresses to loop in different manners corresponding to a difference between the initial phases of the first and second loop waveforms, the phases of the first and second loop-reproduced waveforms, formed on the basis of the looped or repeated readout of the waveform data of the first and second loop waveforms, can be adjusted to be matched with each other. Thus, with this arrangement too, the present invention allows the loop waveforms to be smoothly combined (connected or synthesized) with each other in a simplified manner without a need for prestoring the waveform data having been previously matched in phase. Further, even when the loop waveforms to be combined are shifted from each other in phase, their phases can be appropriately matched by an advancing deviation between the address signals. As a consequence, free waveform editing and sound making are permitted by freely combining any desired ones of the loop waveforms. In addition, the present invention can significantly reduce the burden involved in the waveform formation because it can eliminate the need for prestoring the waveform data in a previously phase-matched condition.
With the waveform forming device according to the second aspect of the present invention, it is not necessarily essential to prestore phase management information in the storage section as in the first-aspect waveform forming device. Although such phase management information may of course be prestored in the storage section, the second-aspect waveform forming device can determine a phase difference between the first and second loop waveforms by just analyzing the phase relationship between the two loop waveforms via a correlation function or the like.
The present invention may be implemented not only as a device invention but also as a method invention. Further, the present invention may be practiced as a computer program and as a recording medium storing such a computer program. Furthermore, the present invention may be embodied as a recording medium storing waveform data in a novel data structure.